package com.hzh.cusviewdemo.Base;

import android.os.Bundle;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import com.gyf.immersionbar.ImmersionBar;
import com.hzh.cusviewdemo.R;
import com.taobao.sophix.SophixManager;

public abstract class BaseActivity extends AppCompatActivity implements LoadAction {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(getLayout());
        // queryAndLoadNewPatch不可放在attachBaseContext 中，否则无网络权限，建议放在后面任意时刻，如onCreate中
        SophixManager.getInstance().queryAndLoadNewPatch();
        // 沉浸式状态栏
        ImmersionBar.with(this)
                // 默认状态栏字体颜色为黑色
                .statusBarDarkFont(true)
                // 指定导航栏背景颜色
                .navigationBarColor(R.color.statusColor)
                // 状态栏字体和导航栏内容自动变色，必须指定状态栏颜色和导航栏颜色才可以自动变色
                .autoDarkModeEnable(true, 0.2f)
                .init();
        initView();
        initData();
    }

    public abstract int getLayout();

    public abstract void initView();

    public abstract void initData();
}
